<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Yang's Harbor</title><meta name="keywords" content="技术,笔记,见解,生活"><meta name="author" content="✨YangSier✨,hobart.yang@qq.com"><meta name="copyright" content="✨YangSier✨"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#0d0d0d"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><meta name="description" content="Space of Tech, Love and Thought">
<meta property="og:type" content="website">
<meta property="og:title" content="Yang&#39;s Harbor">
<meta property="og:url" content="https://discover304.top/page/3/index.html">
<meta property="og:site_name" content="Yang&#39;s Harbor">
<meta property="og:description" content="Space of Tech, Love and Thought">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://discover304.top/img/head.jpg">
<meta property="article:author" content="✨YangSier✨">
<meta property="article:tag" content="技术">
<meta property="article:tag" content="笔记">
<meta property="article:tag" content="见解">
<meta property="article:tag" content="生活">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://discover304.top/img/head.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://discover304.top/page/3/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="preconnect" href="//zz.bdstatic.com"/><meta name="google-site-verification" content="ilqpfk3vkgzDNNikz_V37-DOvRyi5wv4Hoi_eyBqvTg"/><meta name="msvalidate.01" content="49D9A50CCF9744E17274791468EDB517"/><meta name="baidu-site-verification" content="code-V24KosyVh1"/><meta name="360-site-verification" content="bd8859c3d74dfa3e8aeee9db30c94bd2"/><meta name="yandex-verification" content="f28ec9bbd50c56f5"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8030f6052f2fed6a4704d96619f090d6";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script><link rel="stylesheet" href="/css/font.css" media="print" onload="this.media='all'"><script>var GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"We didn't find any results for the search: ${query}"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
  noticeOutdate: {"limitDay":365,"position":"top","messagePrev":"It has been","messageNext":"days since the last update, the content of the article may be outdated."},
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true},
  copy: {
    success: 'Copy successfully',
    error: 'Copy error',
    noSupport: 'The browser does not support'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: 'days',
  date_suffix: {
    just: 'Just',
    min: 'minutes ago',
    hour: 'hours ago',
    day: 'days ago',
    month: 'months ago'
  },
  copyright: {"limitCount":200,"languages":{"author":"Author: ✨YangSier✨","link":"Link: ","source":"Source: Yang's Harbor","info":"Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source."}},
  lightbox: 'fancybox',
  Snackbar: {"chs_to_cht":"Traditional Chinese Activated Manually","cht_to_chs":"Simplified Chinese Activated Manually","day_to_night":"Dark Mode Activated Manually","night_to_day":"Light Mode Activated Manually","bgLight":"#ffc910","bgDark":"#02c3f6","position":"bottom-left"},
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: true,
  islazyload: true,
  isanchor: true
};

var saveToLocal = {
  set: function setWithExpiry(key, value, ttl) {
    const now = new Date()
    const expiryDay = ttl * 86400000
    const item = {
      value: value,
      expiry: now.getTime() + expiryDay,
    }
    localStorage.setItem(key, JSON.stringify(item))
  },

  get: function getWithExpiry(key) {
    const itemStr = localStorage.getItem(key)

    if (!itemStr) {
      return undefined
    }
    const item = JSON.parse(itemStr)
    const now = new Date()

    if (now.getTime() > item.expiry) {
      localStorage.removeItem(key)
      return undefined
    }
    return item.value
  }
}

// https://stackoverflow.com/questions/16839698/jquery-getscript-alternative-in-native-javascript
const getScript = url => new Promise((resolve, reject) => {
  const script = document.createElement('script')
  script.src = url
  script.async = true
  script.onerror = reject
  script.onload = script.onreadystatechange = function() {
    const loadState = this.readyState
    if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
    script.onload = script.onreadystatechange = null
    resolve()
  }
  document.head.appendChild(script)
})</script><script id="config_change">var GLOBAL_CONFIG_SITE = { 
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2023-04-25 19:02:57'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(function () {  window.activateDarkMode = function () {
    document.documentElement.setAttribute('data-theme', 'dark')
    if (document.querySelector('meta[name="theme-color"]') !== null) {
      document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
    }
  }
  window.activateLightMode = function () {
    document.documentElement.setAttribute('data-theme', 'light')
   if (document.querySelector('meta[name="theme-color"]') !== null) {
      document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
    }
  }
  const autoChangeMode = 'false'
  const t = saveToLocal.get('theme')
  if (autoChangeMode === '1') {
    const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
    const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
    const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
    const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
    if (t === undefined) {
      if (isLightMode) activateLightMode()
      else if (isDarkMode) activateDarkMode()
      else if (isNotSpecified || hasNoSupport) {
        const now = new Date()
        const hour = now.getHours()
        const isNight = hour <= 6 || hour >= 18
        isNight ? activateDarkMode() : activateLightMode()
      }
      window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
        if (saveToLocal.get('theme') === undefined) {
          e.matches ? activateDarkMode() : activateLightMode()
        }
      })
    } else if (t === 'light') activateLightMode()
    else activateDarkMode()
  } else if (autoChangeMode === '2') {
    const now = new Date()
    const hour = now.getHours()
    const isNight = hour <= 6 || hour >= 18
    if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
    else if (t === 'light') activateLightMode()
    else activateDarkMode()
  } else {
    if (t === 'dark') activateDarkMode()
    else if (t === 'light') activateLightMode()
  }const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
   if (asideStatus === 'hide') {
     document.documentElement.classList.add('hide-aside')
   } else {
     document.documentElement.classList.remove('hide-aside')
   }
}})()</script><meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Yang's Harbor" type="application/atom+xml">
</head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">Loading...</div></div></div><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" data-lazy-src="/img/head.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">243</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">88</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">23</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Links</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> Articles</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archive</span></a></li><li><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Category</span></a></li><li><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></li></ul></div></div></div></div><div id="body-wrap"><header class="full_page" id="page-header" style="background-image: url(https://image.discover304.top/wallpaper/anime-anime-girls-original-characters-short-hair-wallpaper-preview.jpg?imageView2/2/h/600)"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Yang's Harbor</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> Search</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Links</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> Articles</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archive</span></a></li><li><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Category</span></a></li><li><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></li></ul></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Yang's Harbor</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/Discover304" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/Discover304" target="_blank" title="CSDN"><i class="fa-solid fa-c"></i></a><a class="social-icon" href="https://www.zhihu.com/people/discover-56-86-75" target="_blank" title="知乎"><i class="fa-brands fa-zhihu"></i></a><a class="social-icon" href="mailto:hobart.yang@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://jq.qq.com/?_wv=1027&amp;k=EaGddTQg" target="_blank" title="QQ"><i class="fa-brands fa-qq"></i></a></div></div><div id="waves"><svg class="waves" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"><defs><path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"></path></defs><g class="parallax"><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use></g></svg></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item" style="width:100%;height:auto;float:left;padding:5px;flex-wrap:wrap;justify-content : center;flex-direction: row; "><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/ai/dl/space_work.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">🔥人工智能</div><p>笔记和资料，涉及到深度学习、自动驾驶等领域。</p><a href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/NEKOYA_S.S.S. Doll [Pallas].jfif?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">🔥ROS笔记</div><p>ROS机器人框架笔记。Beginer Friendly</p><a href="/tags/ROS/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/python_future.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✅Python教程</div><p>从0到1，在深入人工智能的全套Python笔记。</p><a href="/tags/Python/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/miku-king-white-theme.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">❤️经验经历</div><p>过往的感悟和思考。</p><a href="/tags/%E7%BB%8F%E9%AA%8C/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/factory.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✨碎片技术</div><p>学习工作中遇到的很赞的技术碎片，整理好了。</p><a href="/tags/%E6%8A%80%E6%9C%AF/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/gaoda.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✨学习积累</div><p>相对于碎片技术的，已经沉淀为自己的资本的内容。</p><a href="/tags/学习/"></a></figcaption></figure></div><div class="recent-post-item" style="height:0px;clear:both;margin-top: 0px;"></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/12/13/2021q4/113-1-dl-ocr/" title="【深度学习】光学字符识别（OCR）">     <img class="post_bg" data-lazy-src="https://img2.huashi6.com/images/resource/thumbnail/2021/12/05/1496_54694744582.jpg?imageMogr2/quality/100/interlace/1/thumbnail/1000x%3E" onerror="this.onerror=null;this.src='/img/404.png'" alt="【深度学习】光学字符识别（OCR）"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/13/2021q4/113-1-dl-ocr/" title="【深度学习】光学字符识别（OCR）">【深度学习】光学字符识别（OCR）</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-13T00:56:03.000Z" title="Created 2021-12-13 08:56:03">2021-12-13</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/">深度学习</a></span></div><div class="content">一、基本理论1. 什么是OCR1）定义OCR （Optical Character Recognition，光学字符识别）是指对图片中的文字进行查找、提取、识别的一种技术，通过检测暗、亮的模式确定其形状，然后用字符识别方法将形状翻译成计算机文字的过程。
2）一般步骤
文字检测：解决的问题是哪里有文字，文字的范围有多少
文字识别：对定位好的文字区域进行识别，主要解决的问题是每个文字是什么，将图像中的文字区域进转化为字符信息。



3）OCR的难点文本检测，尤其是复杂自然场景下的文本检测，非常具有挑战性，主要难点有：

文本存在多种分布，文本排布形式多样；
文本大小、长度不固定；
文本存在多个方向；
多种语言混合。

4）OCR与目标检测的区别
文本大多数以长矩形形式存在，即长宽比一般较大或较小，这与普通的目标检测中的物体不一样（这些长宽比较接近1）
普通物体（比如猫）存在明显的闭合边缘轮廓，而文本没有
文本中包含多个文字，而文字之间是有间隔的，如果检测做得不好，我们就会把每个字都当成文本行给框出来而非整行作为文本框，这与我们的期望不一样

5）评估指标
拒识率：把应该识别的文字，当成不 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/12/12/2021q4/115-new-book-1212/" title="双十二新书整理">     <img class="post_bg" data-lazy-src="https://img2.huashi6.com/images/resource/2018/02/22/673h94923p0.jpg?imageMogr2/quality/100/interlace/1/thumbnail/1000x%3E" onerror="this.onerror=null;this.src='/img/404.png'" alt="双十二新书整理"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/12/2021q4/115-new-book-1212/" title="双十二新书整理">双十二新书整理</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-12T08:22:04.000Z" title="Created 2021-12-12 16:22:04">2021-12-12</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%B9%A6%E7%B1%8D/">书籍</a></span></div><div class="content">PaddlePaddle深度学习实战因为是实战，所以每一个知识点都提供了代码作为参考。
最开始的几部分属于人工智能相关教科书的常见内容，在对人工智能的背景和技术体系不熟悉的人可以阅读一下。
接下来的章节对人工智能深度学习的任务进行项目展示，重数学代码和模型结构。对常见任务和其对应的深度学习模型进行了大量的完备的解释。适合在遇到相关任务时进行针对性学习。但是问题是我们在使用paddlepaddle的场景不多，要是想要充分使用这本书，或者掌握paddlepaddle就要想办法。
第一本无人驾驶书很好的一本书，对无人驾驶需要的硬件和技术进行了展示和解释。而且少见的给出了很多自动驾驶方案设计中的经验之谈。适合初学者认识行业全貌，了解重要的待解决问题。
ROS机器人编程与SLAM算法解析指南技术稍微有一些旧，仅仅是展示了这个领域的一些代码和工具，可以作为一本复习书，或者其他更加专业的书籍的案例补充。
ROS机器人编程实践给我的第一感觉是，这是一个黄金屋，一个完整的黄金屋，有你需要的一切关于ROS的知识。
这本书中的知识是个整体，学到这本书的全部知识，才能学习到ROS的精髓。也就是说，如果仅仅只是 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/12/10/2021q4/113-0-dl-objd/" title="【深度学习】目标检测">     <img class="post_bg" data-lazy-src="https://img2.huashi6.com/images/resource/thumbnail/2021/12/05/1496_54694744582.jpg?imageMogr2/quality/100/interlace/1/thumbnail/1000x%3E" onerror="this.onerror=null;this.src='/img/404.png'" alt="【深度学习】目标检测"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/10/2021q4/113-0-dl-objd/" title="【深度学习】目标检测">【深度学习】目标检测</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-10T06:56:22.000Z" title="Created 2021-12-10 14:56:22">2021-12-10</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/">深度学习</a></span></div><div class="content">一、基本概念1. 什么是目标检测目标检测（Object Detection）的任务是找出图像中所有感兴趣的目标（物体），确定它们的类别和位置，是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态，加上成像时光照、遮挡等因素的干扰，目标检测一直是计算机视觉领域最具有挑战性的问题。
计算机视觉中关于图像识别有四大类任务：
（1）分类-Classification：解决“是什么？”的问题，即给定一张图片或一段视频判断里面包含什么类别的目标。
（2）定位-Location：解决“在哪里？”的问题，即定位出这个目标的的位置。
（3）检测-Detection：解决“在哪里？是什么？”的问题，即定位出这个目标的位置并且知道目标物是什么。
（4）分割-Segmentation：分为实例的分割（Instance-level）和场景分割（Scene-level），解决“每一个像素属于哪个目标物或场景”的问题。

所以，目标检测是一个分类、回归问题的叠加。
2. 目标检测的核心问题（1）分类问题：即图片（或某个区域）中的图像属于哪个类别。
（2）定位问题：目标可能出现在图像的任何位置。
（3 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/12/08/2021q4/104-computer-security/" title="【网络安全】的介绍和思考">     <img class="post_bg" data-lazy-src="https://image.discover304.top/sky_lock.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【网络安全】的介绍和思考"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/08/2021q4/104-computer-security/" title="【网络安全】的介绍和思考">【网络安全】的介绍和思考</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-08T06:10:42.000Z" title="Created 2021-12-08 14:10:42">2021-12-08</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a></span></div><div class="content">什么是网络安全网络安全（Cyber Security）是指网络系统的硬件、软件及其系统中的数据受到保护，不因偶然的或者恶意的原因而遭受到破坏、更改、泄露，系统连续可靠正常地运行，网络服务不中断。
网络安全，通常指计算机网络的安全，实际上也可以指计算机通信网络的安全。计算机通信网络是将若干台具有独立功能的计算机通过通信设备及传输媒体互连起来，在通信软件的支持下，实现计算机间的信息传输与交换的系统。而计算机网络是指以共享资源为目的，利用通信手段把地域上相对分散的若干独立的计算机系统、终端设备和数据设备连接起来，并在协议的控制下进行数据交换的系统。计算机网络的根本目的在于资源共享，通信网络是实现网络资源共享的途径，因此，计算机网络是安全的，相应的计算机通信网络也必须是安全的，应该能为网络用户实现信息交换与资源共享。
为什么要学习网络安全
网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题。其重要性，正随着全球信息化步伐的加快而变到越来越重要。“家门就是国门”，安全问题刻不容缓。
网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/12/08/2021q4/112-conv-explain/" title="【数学】卷积作为数学概念（简要）">     <img class="post_bg" data-lazy-src="https://image.discover304.top/nezha_infity.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【数学】卷积作为数学概念（简要）"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/08/2021q4/112-conv-explain/" title="【数学】卷积作为数学概念（简要）">【数学】卷积作为数学概念（简要）</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-08T03:37:52.000Z" title="Created 2021-12-08 11:37:52">2021-12-08</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86%E7%82%B9/">知识点</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%95%B0%E5%AD%A6/">数学</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%A6%82%E5%BF%B5/">概念</a></span></div><div class="content">参考：如何通俗易懂地解释卷积？
理解卷积时的关键脑内假设：我们有两个函数A和B互不相关。存在不停变化的一个自变量上限。此上限为函数的真实输入。期望结果是函数A和B的交叉相乘后的函数。
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/12/07/2021q4/111-autodrive-pre/" title="【自动驾驶】技术扫盲">     <img class="post_bg" data-lazy-src="https://image.discover304.top/autodrive/cover/car_black_white.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【自动驾驶】技术扫盲"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/07/2021q4/111-autodrive-pre/" title="【自动驾驶】技术扫盲">【自动驾驶】技术扫盲</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-07T09:21:37.000Z" title="Created 2021-12-07 17:21:37">2021-12-07</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6/">自动驾驶</a></span></div><div class="content">@[TOC]
传感器&#x2F;数据类型激光slam slam (Simultaneous Localization and Mapping)叫即时定位与建图，它主要的作用是让机器人在未知的环境中，完成定位（Localization)，建图(Mapping)和路径规划(Navigation)。
激光slam 理论详解(一)
零基础如何入门激光SLAM
2021 高翔：视觉SLAM基础（哔哩哔哩：BV1nh411B7mv）注：内嵌播放器手机适配很差。
 
  
document.getElementById("spkj").style.height=document.getElementById("spkj").scrollWidth*0.76+"px";


里程计里程计是衡量我们从初始位姿到终点位姿的一个标准，通俗的说，我们要实现机器人的定位与导航，就需要知道机器人行进了多少距离，是往哪个方向行进的
ROS里程计的学习(odometry) (一)
多传感器多传感器融合传感器融合是感知模块的一部分。我们希望融合来自视觉传感器的数据，以增加冗余、确定性或利用多个传感器的优势。
超硬核 | ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/12/07/2021q4/110-summary-dl/" title="【深度学习】图像数据增强部分笔记">     <img class="post_bg" data-lazy-src="https://image.discover304.top/ai/dl/02/dog-end-world.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【深度学习】图像数据增强部分笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/07/2021q4/110-summary-dl/" title="【深度学习】图像数据增强部分笔记">【深度学习】图像数据增强部分笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-07T01:50:22.000Z" title="Created 2021-12-07 09:50:22">2021-12-07</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/">深度学习</a></span></div><div class="content">图像色彩操作图像色彩调整
亮度调整
直接将彩色图像灰度化，也可以得到代表图像亮度的灰度图进行图像处理，计算量比 HSV 颜色空间变化低。
但在 HSV 空间中进行处理可以得到增强后的彩色图像。


饱和度调整
对 HSV 空间的 S 分量进行处理可以实现对图像饱和度的增强。
饱和度的调整通常是在 S 原始值上乘以一个修正系数。


色调调整
对 HSV 空间的 H 分量进行处理可以实现对图像色调的增强。
色相 H 的值对应的是一个角度，并且在色相环上循环。所以色相的修正可能会造成颜色的失真。



图像灰度化
分量法，三分量的亮度作为三个灰度图像的灰度值，然后根据需要选择使用。
最大值法，将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。
平均值法，将彩色图像中的三分量亮度求平均得到一个灰度值。
加权平局法，根据重要性及其它指标，将三个分量以不同的权值进行加权平均。例如，由于人眼对绿色的敏感最高，对蓝色敏感最低，因此，按下式对 RGB 三分量进行加权平均能得到较合理的：$f ( i , j ) &#x3D; 0 . 3 0 R ( i , j ) + 0 . 5 9 G ( i ,  ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/12/07/2021q4/085-data-pool/" title="【数据湖】扫盲">     <img class="post_bg" data-lazy-src="https://image.discover304.top/foglaketohou.webp?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【数据湖】扫盲"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/07/2021q4/085-data-pool/" title="【数据湖】扫盲">【数据湖】扫盲</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-07T01:01:25.000Z" title="Created 2021-12-07 09:01:25">2021-12-07</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a></span></div><div class="content">什么是数据湖数据湖是一种以原生格式存储各种大型原始数据集的数据库。您可以通过数据湖宏观了解自己的数据。
原始数据是指尙未针对特定目的处理过的数据。数据湖中的数据只有在查询后才会进行定义。数据科学家可在需要时用比较先进的分析工具或预测建模法访问原始数据。
数据湖的现状在一些需要为数据设置大型整体存储库的企业中，数据湖正在成为一种更通行的数据管理策略。
为什么出现了数据湖的概念数据湖可为您保留所有数据，在您存储前，任何数据都不会被删除或过滤。有些数据可能很快就会用于分析，有些则可能永远都派不上用场。有些数据也可能为了不同用途而多次使用，同时也有数据会为了特定目的不断优化，这就让我们难以用不同的方式重复使用数据。
如何理解数据湖的概念？Pentaho 的首席技术官 James Dixon 对“数据湖”进行了介绍。之所以将其称为湖，是因为这种数据库可以在自然状态下存储大量数据，就像一片未经过滤或包装的水体。数据从多种来源流入湖中，然后以原始格式存储。
数据湖和数据仓库的差别是什么？数据仓库可提供可报告的结构化数据模型。这是数据湖与数据仓库的最大区别。数据湖存储的是非结构化的原始数据，并未定义具 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/12/01/2021q4/109-dimension-up/" title="暴论：人工智能可以进行可解释升维">     <img class="post_bg" data-lazy-src="https://image.discover304.top/huashi6-shichen.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="暴论：人工智能可以进行可解释升维"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/12/01/2021q4/109-dimension-up/" title="暴论：人工智能可以进行可解释升维">暴论：人工智能可以进行可解释升维</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-12-01T03:55:04.000Z" title="Created 2021-12-01 11:55:04">2021-12-01</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%B4%E5%BA%A6/">维度</a></span></div><div class="content">
回归问题为例，最多只需要全局+1个维度，也就是n+1宽度的模型。

第二版第一版第一版的思路不太好（甚至有错误），我们换一种解释方式。
首先针对回归问题，我们通过n维的特征得到一个预测值，这里的这个预测值就可以解释为多出来的一个维度。
然后是分类问题，我们使用的是softmax方法进行类别的预测，于是维度多出了待分类数量个维度。

什么是模型的宽度？

一个模型宽度有几就代表着模型某一层有几个神经节点。每一个神经节点是通过对输入的高维度点进行一个基础变换得到的一个数值；一层有几个这样的数值，就代表着有多少次的基础变换行为（线性映射）。
$$k_1 * x_1 + k_2 * x_2 + … + b &#x3D; y\K\times X+B&#x3D;Y$$
可以实现低维特征域向高维特征域的映射。

为什么要升维？

我们在看二维平面上的物体时，我们很容易就能理解点与点之间的关系，而这层关系是在二维世界中的人很难去认识到的。升维的意义就在这里。可以将本来远在天边的两个特征点在新的维度上拉近。

那么模型的内部需要多少维度（宽度）呢？

还是先针对回归问题
回归问题本质就是一个高维向低维 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/11/22/2021q4/105-many-I/" title="多个我的设定">     <img class="post_bg" data-lazy-src="https://image.discover304.top/5girl_me.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="多个我的设定"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/11/22/2021q4/105-many-I/" title="多个我的设定">多个我的设定</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-11-22T07:12:29.000Z" title="Created 2021-11-22 15:12:29">2021-11-22</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%B8%AA%E4%BA%BA/">个人</a></span></div><div class="content">
  eba4cd21686330597373f08a1e90f7ccd5ddb3684f8e4a1e24482f89676edc6addb81368268187d3ba9d2c001dda994285b15a7e95fa4f237803e29504808016d8dc00232f93493c07b4741eb46ba8c25f34f9d5019794c25633559aa8ef6de863b6cd57844c3d3b5f348dab3de50b7a30c501f7a389dd79b958a2e32a71955e51ae755848c63a0c4d9d37d2cc18f8961bf0275615fd98d0a3317980ea7e45c085454a80281953fd1908ea03c74743877ec2a6b29869833aa214a2d723fe80d9ecc041c73ed047069bc2804dc7e3e96a882360b0a4780e9ec2f68c9be19a9d2c00493a49cb186157cf3e8284dba33f11d018cbd0eaf2e0703 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/11/16/2021q4/093-js-multi-threading/" title="【JavaScript】 多线程并行编程 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/bilibilitwinnight.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【JavaScript】 多线程并行编程 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/11/16/2021q4/093-js-multi-threading/" title="【JavaScript】 多线程并行编程 施工中~">【JavaScript】 多线程并行编程 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-11-16T04:31:07.000Z" title="Created 2021-11-16 12:31:07">2021-11-16</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Web/">Web</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/JavaScript/">JavaScript</a></span></div><div class="content">关键词：javascript 单线程本质，html5，worker，nodejs

封面P站画师ID：12191398

</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/10/27/2021q4/086-git-note/" title="项目管理和GIT版本控制工具">     <img class="post_bg" data-lazy-src="https://image.discover304.top/treeHouseSky.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="项目管理和GIT版本控制工具"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/27/2021q4/086-git-note/" title="项目管理和GIT版本控制工具">项目管理和GIT版本控制工具</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-10-27T10:37:26.000Z" title="Created 2021-10-27 18:37:26">2021-10-27</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/git/">git</a></span></div><div class="content">@ 作者：达内 Python 教学部，吕泽@ 编辑：博主，Discover304

:four_leaf_clover:碎碎念:four_leaf_clover:Hello米娜桑，这里是英国留学中的杨丝儿。我的博客的关键词集中在算法、机器人、人工智能、数学等等，点个关注吧，持续高质量输出中。:cherry_blossom:唠嗑QQ群：兔叽的魔术工房 (942848525):star:B站账号：杨丝儿今天也在科学修仙（UP主跨站求个关注）


:star2:软件项目开发
:star:软件项目开发流程
需求分析 —-&gt; 概要设计  —&gt; 项目计划 —-&gt; 详细设计—&gt; 编码测试 —–&gt; 项目测试 —-&gt; 调试修改 —&gt; 项目发布—-&gt; 后期维护


需求分析 ： 确定用户的真实需求



确定用户的真实需求，项目的基本功能
确定项目的整体难度和可行性分析
需求分析文档，用户确认



概要设计：对项目进行初步分析和整体设计



确定整体架构
进行技术可行性分析
确定技术整体思路和使用框架模型
形成概要文档指导开发流程




项目计划 ：  ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/10/21/2021q4/084-python-process-pool/" title="【Python】独特的进程池概念">     <img class="post_bg" data-lazy-src="https://image.discover304.top/breakfast_girl.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】独特的进程池概念"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/21/2021q4/084-python-process-pool/" title="【Python】独特的进程池概念">【Python】独特的进程池概念</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-10-21T02:52:03.000Z" title="Created 2021-10-21 10:52:03">2021-10-21</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a></span></div><div class="content">
:star2:总结放开头
创建进程池可以形象的理解为创建了一个能够并行的流水线，只消耗一次创建流水线的成本，处理接收到的的任务。相对的，如果不使用进程池，每个要求并行的任务都会新建一次进程，浪费时间。
编程中本来没有进程池的概念的，除了python，其他的语言都是使用线程池（而进程是执行分隔开的任务）。python因为GIL的原因（仅限Cython），线程无法并行，所以把线程池的概念迁移到了进程，命名为进程池。


:star2:python进程池当需要创建的子进程数量不多时，可以直接利用multiprocessing中的Process动态成生多个进程。
但如果是上百甚至上千个目标，手动的去创建进程的工作量巨大，此时就可以用到multiprocessing模块提供的Pool方法。

初始化Pool时，可以指定一个最大进程数
当有新的请求提交到Pool中时
如果池还没有满，那么就会 创建 一个新的进程用来执行该请求；
如果池中的进程数已经达到指定的最大值，那么该请求就会等待，直到池中有进程结束，才会用之前的进程来执行新的任务。




:star2:进程池如何使用？
:star:app ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/10/15/2021q4/080-ddns-code-example/" title="【Python】实现DDNS 动态解析到阿里">     <img class="post_bg" data-lazy-src="https://image.discover304.top/keqignqwhite.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】实现DDNS 动态解析到阿里"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/15/2021q4/080-ddns-code-example/" title="【Python】实现DDNS 动态解析到阿里">【Python】实现DDNS 动态解析到阿里</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-10-15T03:35:46.000Z" title="Created 2021-10-15 11:35:46">2021-10-15</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a></span></div><div class="content">什么是 DDNS？DDNS（Dynamic Domain Name Server，动态域名服务）是将用户的动态IP地址映射到一个固定的域名解析服务上，用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序，服务器程序负责提供DNS服务并实现动态域名解析。
DDNS的使用场景分析在中国，面向社会的服务器是需要备案的，而备案的时候是需要使用一个固定的公网ip备案的。因此很多人想要使用DDNS实现网站搭建的小伙伴就要失望了（说的就是我）。
但是这里面有一个细节，面向社会提供服务的需要备案，那么不提供服务且有意阻止社会人员访问服务器的应用场景，如个人计算服务器、私人云盘（如群辉的家庭云服务），就不需要备案了。
用python实现DDNS1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071from aliyunsdkcore.clien ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/10/12/2021q4/077-accuracy-recall-break/" title="【AI】AI论文中的 精确率 和 召回率 精简解释">     <img class="post_bg" data-lazy-src="https://image.discover304.top/aimmingMolisha.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【AI】AI论文中的 精确率 和 召回率 精简解释"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/12/2021q4/077-accuracy-recall-break/" title="【AI】AI论文中的 精确率 和 召回率 精简解释">【AI】AI论文中的 精确率 和 召回率 精简解释</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-10-12T08:46:35.000Z" title="Created 2021-10-12 16:46:35">2021-10-12</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a></span></div><div class="content">参考：精确率和召回率 @菜鸟瞎编
评论精选：确实是这样的，真的怀疑定义这个的人脑子有坑，你说他第一个是 预测值，第二个是 真值 不好吗，本来一个很简单的问题，搞得这么复杂。
精确率是针对我们预测结果而言的，它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了，一种就是把正类预测为正类(TP)，另一种就是把负类预测为正类(FP)，也就是
$$P&#x3D;\frac{TP}{TP+FP}$$
而召回率是针对我们原来的样本而言的，它表示的是样本中的正例有多少被预测正确了。那也有两种可能，一种是把原来的正类预测成正类(TP)，另一种就是把原来的正类预测为负类(FN)。
$$R&#x3D;\frac{TP}{TP+FN}$$
其实就是分母不同，一个分母是预测为正的样本数，另一个是原来样本中所有的正样本数。
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/10/12/2021q4/076-yolo-develop-route/" title="Yolo目标检测算法综述">     <img class="post_bg" data-lazy-src="https://image.discover304.top/yoloCover.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Yolo目标检测算法综述"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/10/12/2021q4/076-yolo-develop-route/" title="Yolo目标检测算法综述">Yolo目标检测算法综述</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-10-12T07:21:04.000Z" title="Created 2021-10-12 15:21:04">2021-10-12</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a></span></div><div class="content">结论放前面：

现阶段最强的是 YOLOX，代码已开源
YOLO最开始很简单，v2v3提供了一定的优化，v4猛堆料，v5优化了内存。


YOLO 特点


yolo
其他



YOLO训练和检测均是在一个 单独网络中 进行。
RCNN采用分离模块。包括之后的 Faster RCNN


YOLO将物体检测作为一个 回归问题 进行求解，输入图像经过一次inference，便能得到图像中所有 物体的位置 和其 所属类别 及相应的 置信概率 。
而rcnn&#x2F;fast rcnn&#x2F;faster rcnn将检测结果分为两部分求解：物体类别（分类问题），物体位置即bounding box（回归问题）。



优势

速度快。YOLO将物体检测作为回归问题进行求解，速度比其他模型快。
背景误检率低。YOLO在训练和推理过程中能‘看到’整张图像的整体信息。
通用性强。YOLO对于艺术类作品中的物体检测同样适用。它对非自然图像物体的检测率远远高于DPM和RCNN系列检测方法。



问题

相较于其他方法，YOLO识别物体位置精准性差。
召回率较低，会识别不出来物体。



YOL ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/27/2021q3/072-linux-basic-op/" title="Linux 知识点整理">     <img class="post_bg" data-lazy-src="https://image.discover304.top/linux_talk.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Linux 知识点整理"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/27/2021q3/072-linux-basic-op/" title="Linux 知识点整理">Linux 知识点整理</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-27T02:23:05.000Z" title="Created 2021-09-27 10:23:05">2021-09-27</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Linux/">Linux</a></span></div><div class="content">@ 作者：达内 Python 教学部，吕泽@ 编辑：博主，Discover304
Linux操作系统认知操作系统（Operation System简称OS）
定义

操作系统是管理计算机硬件与软件资源的计算机程序，同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。



操作系统功能


管理好硬件设备，为用户提供调用方法
是计算机中最重要的系统环境
管理各种其他的软件和程序的运行
对系统中文件进行管理



操作系统分类


桌面系统：Windows ，MacOS为主，图形界面良好用户群体大。
服务器系统：Linux，Unix为主，安全，稳定，费用低占有量大。windows占有率比较低。
嵌入式系统：Linux为主，主要用于小型智能设备，如智能手机，机器人等。




Linux系统介绍
Linux 诞生

1991 年 林纳斯（Linus） 就读于赫尔辛基大学期间，对 Unix 产生浓厚兴趣，林纳斯经常要用他的终端仿真器（Terminal Emulator） 去访问大学主机上的新闻 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/25/2021q3/071-okr-management/" title="读《这就是OKR》第一部分：OKR管理的关键点">     <img class="post_bg" data-lazy-src="https://image.discover304.top/gaoda.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="读《这就是OKR》第一部分：OKR管理的关键点"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/25/2021q3/071-okr-management/" title="读《这就是OKR》第一部分：OKR管理的关键点">读《这就是OKR》第一部分：OKR管理的关键点</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-25T07:00:07.000Z" title="Created 2021-09-25 15:00:07">2021-09-25</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%AF%BB%E4%B9%A6/">读书</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%A1%E7%90%86%E5%AD%A6/">管理学</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9B%AE%E6%A0%87/">目标</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%B7%A5%E4%BD%9C%E6%B3%95/">工作法</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/OKR/">OKR</a></span></div><div class="content">知识
OKR，Objectives and Key Results，目标与关键结果。
OKR 是确保将 整个组织的力量 都聚焦于完成对所有人都 同样重要的事项 的一套管理方法。
目标就是你 想要实现的东西，不要将其夸大或者缩小。根据定义，目标是重要的、具体的、具有行动导向并且能鼓舞人心的。如果设计合理并且实施的当，目标能够有效地防止思维和执行过程中出现模糊不清的情况。
关键结果是 检查和监控我们如何达到目标的标准。有效的关键结果应该是具体的、有时限的且具有挑战性的，但又必须是能够实现的。最重要的是，他们必须是可衡量的、可验证的。
OKR 的价值：体现的是公司最重要的目标，能 引导员工共同努力和协作，将不同的业务联系在一起，为 整个组织提供明确的目标和凝聚力。
CFR：持续性绩效管理（Conversation对话，Feedback反馈，Recognition认可），OKR的近亲。

OKR 的四大利器
对优先事项的聚焦和承诺：推动 重要任务的筛选，帮助 聚焦关键的成功要素。
团队工作的协同和联系：OKR具有 透明性，且每个人的目标与公司计划紧密联系，为每个人的工作赋予了意义。同时自下而上 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/24/2021q3/070-cloud-server-utility/" title="开源云盘搭建部署 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/kangna.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="开源云盘搭建部署 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/24/2021q3/070-cloud-server-utility/" title="开源云盘搭建部署 施工中~">开源云盘搭建部署 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-24T03:51:59.000Z" title="Created 2021-09-24 11:51:59">2021-09-24</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">记录搭建云盘时学习到的内容
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/24/2021q3/069-best-web-app-tools-for-data-scientists/" title="Streamlit 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/streamlit.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Streamlit 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/24/2021q3/069-best-web-app-tools-for-data-scientists/" title="Streamlit 施工中~">Streamlit 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-24T03:16:43.000Z" title="Created 2021-09-24 11:16:43">2021-09-24</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BD%91%E9%A1%B5/">网页</a></span></div><div class="content">记录使用streamlit的项目时学习到的内容
参考&#x2F;补充
参考：Streamlit官方

</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/23/2021q3/068-python-programming-flavour/" title="【Python】编程的风味 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/paimeng.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】编程的风味 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/23/2021q3/068-python-programming-flavour/" title="【Python】编程的风味 施工中~">【Python】编程的风味 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-23T08:54:04.000Z" title="Created 2021-09-23 16:54:04">2021-09-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">研读PEP8
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/23/2021q3/049-merge-programming-paradigm/" title="编程范式的结合律 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/merge-Haima-akbi.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="编程范式的结合律 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/23/2021q3/049-merge-programming-paradigm/" title="编程范式的结合律 施工中~">编程范式的结合律 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-23T06:34:05.000Z" title="Created 2021-09-23 14:34:05">2021-09-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AF%B9%E6%AF%94/">对比</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B0%83%E6%9F%A5/">调查</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%80%9D%E8%80%83/">思考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BA%A0%E5%81%8F/">纠偏</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">多范式融合多范式融合的设计建议：

每种编程范式都有优缺点，不做某单一范式的拥坌，分场景灵活选择合适的范式恰当的解决问题。
从 DDD 的角度，按照模型一致性，将不同范式的设计划分到不同的子域、BC 或层内。

参考&#x2F;补充
错误观念：面向对象思想和函数式编程思想有冲突。
Haskell 语言是纯函数式编程语言。
参考：聊聊编程范式

</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/23/2021q3/067-programming-paradigm/" title="编程范式整理">     <img class="post_bg" data-lazy-src="http://image.discover304.top/tample.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="编程范式整理"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/23/2021q3/067-programming-paradigm/" title="编程范式整理">编程范式整理</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-23T06:30:05.000Z" title="Created 2021-09-23 14:30:05">2021-09-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B0%83%E6%9F%A5/">调查</a></span></div><div class="content">编程语言与成百种编程语言（Programming Language）相比，编程范式（Programming Paradigm、范式）要少得多。

如图所示，共有27种范式。多数范式之间仅相差一个或几个概念。

主要的范式最常用的范式有三个：过程试编程，面向对象编程（OOP），函数式编程（FP）。然后我们介绍一下新兴的第四种范式也就是面向切面编程（AOP）。
过程试编程过程式编程（Procedural programming）的核心在于模块化，在实现过程中使用了状态，依赖了外部变量，导致很容易影响附近的代码，可读性较低，后期的维护成本也较高。

过程试编程经历了发展的两个阶段，非结构化到结构化
非机构化编程（Unstructured programming）：机器语言和汇编语言的编程范式被认为是非结构化编程，没有封装函数的概念，代码中goto语句满天飞的状态。
结构化编程（Structured programming）：抽象了机器的行为，屏蔽了部分计算机的硬件细节。代表语言就是我们常用的C语言。
有时结构化编程，也称作过程式编程，或面向过程编程。

面向对象编程面向对象编程（Object ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/23/2021q3/066-usable-logic/" title="可用逻辑：符合语言习惯的逻辑公式 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/factory.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="可用逻辑：符合语言习惯的逻辑公式 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/23/2021q3/066-usable-logic/" title="可用逻辑：符合语言习惯的逻辑公式 施工中~">可用逻辑：符合语言习惯的逻辑公式 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-23T02:10:40.000Z" title="Created 2021-09-23 10:10:40">2021-09-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">题目背景
解析命题的思维过程。
日常对话的思维过程。
说话过程中为了晚上逻辑而造成停顿的危害或者问题。

自然语言的特征。参考自然语言和机器语言的定义。
常用逻辑公式。整理常用公式。
处理常用逻辑以符合自然语言的特征。公式的推倒。
整理语言以符合上文推导出的逻辑。将连接词整理成模块。
使用案例用老办法分析一个影评的逻辑关系。
对比着使用处理过的逻辑，分析提炼影评的逻辑链，然后复述一遍。
参考&#x2F;补充
要在生活中熟练使用逻辑，就需要大量的练习。
封面画师：P站画师ID：864706;空想の世界「エソラニア」を舞台に色々な風景を気ままに描いております。よろしくお願いしますー コメント、タグ等ありがとうございます 基本的にお返事はしませんが、ありがたく読ませて頂いております。 御用のある方はこちらからお願いします↓ kemineko☆hotmail.co.jp (☆→@)

</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/23/2021q3/064-how-to-write-articles/" title="怎样写一篇文章 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/reading.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="怎样写一篇文章 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/23/2021q3/064-how-to-write-articles/" title="怎样写一篇文章 施工中~">怎样写一篇文章 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-23T00:36:26.000Z" title="Created 2021-09-23 08:36:26">2021-09-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86/">知识</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%9F%BA%E7%A1%80/">基础</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/">笔记整理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">写作的基本流程是什么？作家需要具备的思想。写一篇好的文章需要有怎样的知识储备？文章背后的思想主线如何把握？怎样向读者展开自己的观点？受众群体的识别，做到体贴。参考&#x2F;补充
封面画师：P站画师ID：5822696;魔乳 太助☆三世です。シクヨロ！（侵删）
写作变现基础课：文思泉涌，钱多速来

广泛的积累，积累生活时间，积累书本知识。世事洞明皆学问，人情练达即文章。文学即人学，作文即生活。艺术源于生活，但高于生活。
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/22/2021q3/052-dimension-tunner/" title="人工智能炼丹师到维度调教师的思想转变">     <img class="post_bg" data-lazy-src="https://image.discover304.top/miku-dark.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="人工智能炼丹师到维度调教师的思想转变"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/22/2021q3/052-dimension-tunner/" title="人工智能炼丹师到维度调教师的思想转变">人工智能炼丹师到维度调教师的思想转变</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-22T02:09:24.000Z" title="Created 2021-09-22 10:09:24">2021-09-22</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a></span></div><div class="content">产生转变的背景随着参加过的研究活动的数量增加，过去自诩为炼丹师的话语越来越像是在自嘲。感觉自己的定位不在和炼丹师吻合。思来想去，现在的心态更多是主动的，是积极的去操作人工智能模型。可能维度调教师更适合我现在的定位。
对于这样的转变的思考对于自己的定位从人工智能炼丹师到维度调教师的转变，是观察世界的方式的转变，也是对待人工智能技术的态度转变。
人工智能炼丹师炼丹师是在发现，是在尝试设计出来的理论。而人工智能炼丹师往往指代人工智能训练师，训练师使用计算机资源训练人工智能模型仿佛在炼丹，同样高的耗时，同样低的成功率，同样显赫的地位。高温的机箱对应丹炉，训练成功的模型对应丹药。炼丹&#x2F;训练模型的过程中充满了对自然法则&#x2F;数学法则的敬畏，一切的成果都归功于模型和数据本身（玄学），而人更多的是置身事外。
维度调教师维度的数量体现了一份数据的信息体量。维度调教师是在用维度的眼光观察现实世界，思考如何通过升降维度解决问题。这是一个主动的行为，将维度把玩于手中；站在高位，俯瞰数学法则；勇敢得去提出解决方案，从高维操作人工智能模型行为。
产生转变的可能原因我认为导致这种转变的原因是知识的增 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/21/2021q3/063-research-diary-the-1/" title="【研究日记】虚拟歌姬自动调教之歌曲音频切割的问题">     <img class="post_bg" data-lazy-src="https://image.discover304.top/miku_sound.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【研究日记】虚拟歌姬自动调教之歌曲音频切割的问题"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/21/2021q3/063-research-diary-the-1/" title="【研究日记】虚拟歌姬自动调教之歌曲音频切割的问题">【研究日记】虚拟歌姬自动调教之歌曲音频切割的问题</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-21T12:36:59.000Z" title="Created 2021-09-21 20:36:59">2021-09-21</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a></span></div><div class="content">
:four_leaf_clover:碎碎念:four_leaf_clover:Hello米娜桑，这里是英国留学中的杨丝儿。我的博客的关键词集中在算法、机器人、人工智能、数学等等，点个关注吧，持续高质量输出中。:cherry_blossom:唠嗑QQ群：兔叽的魔术工房 (942848525):star:B站账号：杨丝儿今天也在科学修仙（UP主跨站求个关注）


:star2:背景这篇研究日记是在研究出现状况时的一份记录，分享出来，方便自己记忆查阅，也方便有类似想法的朋友 避坑。

:star:介绍虚拟歌姬自动调教是我正在研究的一个深度学习的落地方式。期间为了提升模型的效果，我们尝试了很多方法，其中之一便是这篇文章将要讨论到的歌曲音频切割。

:star:目标歌曲音频切割的目标是根据歌曲波形信息，将每一个字对应的音频进行切割。

:star:挑战相较于一般的对话音频，歌曲音频中字与字的间隔非常模糊，就算是人自己也不容易清晰辨识歌曲音频中的每一个字。

:star2:过程经过连续几个休息日的复现和实验，我整理了以下几种切割方案。

:star:根据停顿对歌曲进行切割顾名思义就是根据静音区间 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/16/2021q3/061-%E8%A7%82%E5%AF%9F%E4%B8%96%E7%95%8C%E7%9A%84%E7%9C%BC%E5%85%89/" title="观察世界的眼光">     <img class="post_bg" data-lazy-src="https://image.discover304.top/%E5%B0%8F%E9%B8%9F%E6%B8%B8%E5%85%AD%E8%8A%B1.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="观察世界的眼光"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/16/2021q3/061-%E8%A7%82%E5%AF%9F%E4%B8%96%E7%95%8C%E7%9A%84%E7%9C%BC%E5%85%89/" title="观察世界的眼光">观察世界的眼光</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-16T08:58:46.000Z" title="Created 2021-09-16 16:58:46">2021-09-16</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a></span></div><div class="content">物理之眼：物理公式标准在了视界中的任何地方。可能是因为物理的知识达到饱和。
边缘之眼：视界中所有的边缘都被高亮。可能原因是对于矩阵的理解达到了某种层次。
维度之眼：包含边缘之眼，但是所有的表面都被识别并且预测出来了。无法解释。
架构之眼：所有的逻辑都被提炼成了对象，世界分层。可以从树状的语聊库得到启发。
</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/16/2021q3/060-seperate-things/" title="如何做到“分”？施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/5maid.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="如何做到“分”？施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/16/2021q3/060-seperate-things/" title="如何做到“分”？施工中~">如何做到“分”？施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-16T08:55:15.000Z" title="Created 2021-09-16 16:55:15">2021-09-16</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">在架构师眼中，层次是主要的。他们会有层次得去分解问题。
眼睛观察世界的方式有不一样了。

</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/16/2021q3/059-static-personal-blog-summary/" title="静态博客搭建全流程整理 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/table.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="静态博客搭建全流程整理 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/16/2021q3/059-static-personal-blog-summary/" title="静态博客搭建全流程整理 施工中~">静态博客搭建全流程整理 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-16T07:55:18.000Z" title="Created 2021-09-16 15:55:18">2021-09-16</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">整理一份之前所有博客相关文章的记录，打包全部流程，便于使用。

</div></div></div><nav id="pagination"><div class="pagination"><a class="extend prev" rel="prev" href="/page/2/"><i class="fas fa-chevron-left fa-fw"></i></a><a class="page-number" href="/">1</a><a class="page-number" href="/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/page/4/">4</a><span class="space">&hellip;</span><a class="page-number" href="/page/9/">9</a><a class="extend next" rel="next" href="/page/4/"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside_content" id="aside_content"><div class="card-widget card-info"><div class="card-content"><div class="card-info-avatar is-center"><img class="avatar-img" data-lazy-src="/img/head.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">✨YangSier✨</div><div class="author-info__description">Love Everything You Like.</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">243</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">88</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">23</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://space.bilibili.com/98639326"><i class="fab fa-bilibili"></i><span>Bilibili Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/Discover304" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/Discover304" target="_blank" title="CSDN"><i class="fa-solid fa-c"></i></a><a class="social-icon" href="https://www.zhihu.com/people/discover-56-86-75" target="_blank" title="知乎"><i class="fa-brands fa-zhihu"></i></a><a class="social-icon" href="mailto:hobart.yang@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://jq.qq.com/?_wv=1027&amp;k=EaGddTQg" target="_blank" title="QQ"><i class="fa-brands fa-qq"></i></a></div></div></div><div class="card-widget card-announcement"><div class="card-content"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>Announcement</span></div><div class="announcement_content">✨动态更新：<p style="text-align:center">享受精彩大学生活中。</p>✨聊天划水QQ群：<p style="text-align:center"><a target="_blank" rel="noopener" href="https://jq.qq.com/?_wv=1027&k=EaGddTQg"><strong>兔叽の魔术工房</strong></a><br>942-848-525</p>✨我们的口号是：<p style="text-align:center; color:#39C5BB">人工降神，机械飞升！</p><a target="_blank" rel="noopener" href='https://space.bilibili.com/98639326'><img src='/img/mikulittletrans.png'></a></div></div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="card-content"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2023/04/24/2023q1/173-nginx-docker-blog-page-depoly/" title="【模板】Hexo Docker Nginx 个人博客服务器部署"><img data-lazy-src="https://image.discover304.top/s16001804242023.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【模板】Hexo Docker Nginx 个人博客服务器部署"/></a><div class="content"><a class="title" href="/2023/04/24/2023q1/173-nginx-docker-blog-page-depoly/" title="【模板】Hexo Docker Nginx 个人博客服务器部署">【模板】Hexo Docker Nginx 个人博客服务器部署</a><time datetime="2023-04-24T06:39:24.000Z" title="Created 2023-04-24 14:39:24">2023-04-24</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/172-design-idea/" title="【思考】创新点子"><img data-lazy-src="https://image.discover304.top/blog-img/s19313212112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】创新点子"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/172-design-idea/" title="【思考】创新点子">【思考】创新点子</a><time datetime="2022-12-11T11:08:37.000Z" title="Created 2022-12-11 19:08:37">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/171-other-thought/" title="【思考】其他思考"><img data-lazy-src="https://image.discover304.top/blog-img/s19305112112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】其他思考"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/171-other-thought/" title="【思考】其他思考">【思考】其他思考</a><time datetime="2022-12-11T11:08:17.000Z" title="Created 2022-12-11 19:08:17">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/170-key-thought/" title="【思考】核心思考"><img data-lazy-src="https://image.discover304.top/blog-img/s19294112112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】核心思考"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/170-key-thought/" title="【思考】核心思考">【思考】核心思考</a><time datetime="2022-12-11T11:08:06.000Z" title="Created 2022-12-11 19:08:06">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/09/2022q4/169-new-r/" title="R: Getting Into Project of R"><img data-lazy-src="https://image.discover304.top/blog-img/s18350812112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="R: Getting Into Project of R"/></a><div class="content"><a class="title" href="/2022/12/09/2022q4/169-new-r/" title="R: Getting Into Project of R">R: Getting Into Project of R</a><time datetime="2022-12-09T09:44:06.000Z" title="Created 2022-12-09 17:44:06">2022-12-09</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/11/28/2022q3/167-2-sp-review/" title="SP Modules Review Contents (3)"><img data-lazy-src="https://image.discover304.top/blog-img/s11220010012022.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="SP Modules Review Contents (3)"/></a><div class="content"><a class="title" href="/2022/11/28/2022q3/167-2-sp-review/" title="SP Modules Review Contents (3)">SP Modules Review Contents (3)</a><time datetime="2022-11-28T07:24:39.000Z" title="Created 2022-11-28 15:24:39">2022-11-28</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/11/17/2022q3/166-10-connected-speech-hidden-markov-model/" title="SP Module 10 Connected Speech &amp; HMM Training"><img data-lazy-src="https://image.discover304.top/blog-img/s11220010012022.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="SP Module 10 Connected Speech &amp; HMM Training"/></a><div class="content"><a class="title" href="/2022/11/17/2022q3/166-10-connected-speech-hidden-markov-model/" title="SP Module 10 Connected Speech &amp; HMM Training">SP Module 10 Connected Speech &amp; HMM Training</a><time datetime="2022-11-17T01:47:12.000Z" title="Created 2022-11-17 09:47:12">2022-11-17</time></div></div></div></div></div><div class="card-widget card-webinfo"><div class="card-content"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">243</div></div><div class="webinfo-item"><div class="item-name">Run time :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-05-21T23:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">Total Count :</div><div class="item-count">393.8k</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">Last Push :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-04-25T11:02:55.530Z"></div></div></div></div></div></div></div></main><footer id="footer" style="background-image: url(https://image.discover304.top/wallpaper/anime-anime-girls-original-characters-short-hair-wallpaper-preview.jpg?imageView2/2/h/600)"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2023 By ✨YangSier✨</div><div><a target="_blank" href="https://beian.miit.gov.cn/" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;"> 冀ICP备2021025381号-1</p></a></div><div><a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=13060602001430" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><img src="/img/beian.png" style="float:left;"/><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">冀公网安备 13060602001430号</p></a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="translateLink" type="button" title="Switch Between Traditional Chinese And Simplified Chinese">繁</button><button id="darkmode" type="button" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back To Top"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><div class="search-dialog__title" id="local-search-title">Local search</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="Search for Posts" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.spacingElementById('content-inner')
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.spacingElementById('content-inner')
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><script src="/js/search/local-search.js"></script><script>var preloader = {
  endLoading: () => {
    document.body.style.overflow = 'auto';
    document.getElementById('loading-box').classList.add("loaded")
  },
  initLoading: () => {
    document.body.style.overflow = '';
    document.getElementById('loading-box').classList.remove("loaded")

  }
}
window.addEventListener('load',()=> {preloader.endLoading()})</script><div class="js-pjax"><script>function subtitleType () {
  if (true) { 
    var typed = new Typed("#subtitle", {
      strings: "Space of Tech and Love.,但行好事，莫问前程。,['happy' for _ in range(365)],一切都是最好的安排，无怨无悔。".split(","),
      startDelay: 300,
      typeSpeed: 150,
      loop: true,
      backSpeed: 50
    })
  } else {
    document.getElementById("subtitle").innerHTML = 'Space of Tech and Love.'
  }
}

if (true) {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}</script><script>if (document.getElementsByClassName('mermaid').length) {
  if (window.mermaidJsLoad) mermaid.init()
  else {
    getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(() => {
      window.mermaidJsLoad = true
      mermaid.initialize({
        theme: 'neutral',
      })
      false && mermaid.init()
    })
  }
}</script><script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div><script defer="defer" id="fluttering_ribbon" mobile="true" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-fluttering-ribbon.min.js"></script><script>(function(){
  const bp = document.createElement('script');
  const curProtocol = window.location.protocol.split(':')[0];
  if (curProtocol === 'https') {
    bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  }
  else{
    bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  }
  bp.dataset.pjax = ''
  const s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(bp, s);
})()</script></div></body></html>